import {createApp} from 'vue';
import pinia from '/@/stores/index';
import App from '/@/App.vue';
import router from '/@/router';
import {directive} from '/@/directive/index';
import plugins from './plugins' // plugins
import {i18n} from '/@/i18n/index';
import {useDict} from '/@/utils/dict';
import other from '/@/utils/other';

// 字典标签组件
import DictTag from '/@/components/DictTag/index.vue';


import ElementPlus from 'element-plus';
import '/@/theme/index.scss';

import 'virtual:uno.css';

import VueGridLayout from 'vue-grid-layout';

const app = createApp(App);

// 全局方法挂载
app.config.globalProperties.useDict = useDict
// 全局组件挂载
app.component('DictTag', DictTag)

directive(app);
other.elSvg(app);

app.use(pinia)
    .use(plugins)
    .use(router)
    .use(ElementPlus)
    .use(i18n)
    .use(VueGridLayout)
    .mount('#app');
